# 作者: YYJ
# 2025年07月28日13时50分48秒
# 2486249622@qq.com
from abc import abstractmethod, ABCMeta


class Walk_animal(metaclass=ABCMeta):
    @abstractmethod
    def walk(self):
        print('walk')


class Swim_animal(metaclass=ABCMeta):
    @abstractmethod
    def swim(self): pass


class Fly_animal(metaclass=ABCMeta):
    @abstractmethod
    def fly(self): pass


# 如果正常一个老虎有跑和跑的方法的话， 我们会这么做
class Tiger:
    def walk(self): pass

    def swim(self): pass


# 但是我们使用接口类多继承的话就简单多了， 并且规范了相同功能
class Tiger(Walk_animal, Swim_animal): pass


# 如果此时再有一个天鹅 swan,会飞， 走， 游泳 那么我们这么做
class Swan(Walk_animal, Swim_animal, Fly_animal): pass
